---
title: 休眠唤醒介绍
description: "启动介质是M.2时，请勿进行休眠操作，否则会导致无法正常唤醒，需要上下电恢复系统。"
url: https://www.hiascend.com/document/detail/zh/Atlas%20200I%20A2/latest/RC/driverdevelopmentguide/atlasdg_11_0146.html
sourcePath: /source/zh/Atlas 200I A2/260RC1/RC/driverdevelopmentguide/atlasdg_11_0146.html
indexId: f1608add0c6ca872f681be6a4ffaedca1e8f089b45b8e2a2068d707ebd506dff78
---
# 休眠唤醒介绍

#### 注意事项

启动介质是M.2时，请勿进行休眠操作，否则会导致无法正常唤醒，需要上下电恢复系统。


#### 实现原理

Atlas 200I A2 加速模块提供休眠唤醒特性，让用户对Atlas 200I A2 加速模块进行休眠唤醒操作，以满足低功耗需求。

如图1所示，AO区为整个Atlas 200I A2 加速模块的管理模块，载板不下电AO区一直在运行，而用户程序、进程以及服务等都运行在Taishan Core中。用户可通过执行npu-smi命令和操作管脚实现休眠唤醒功能，此时AO区控制Taishan Core休眠或者唤醒，并改变相关GPIO管脚状态。管脚状态参见管脚状态说明。

图1 休眠唤醒系统框图


#### 管脚状态说明

GPIO8_0管脚为休眠唤醒输入管脚，用于控制Atlas 200I A2 加速模块是否处于休眠状态。

- 当GPIO8_0（对应Atlas 200I A2 加速模块管脚为SYS_SLEEP_IN）输入为高电平时，表示当前为休眠状态。
- 当GPIO8_0（对应Atlas 200I A2 加速模块管脚为SYS_SLEEP_IN）输入为低电平时，表示当前为唤醒状态。

GPIO8_1管脚为休眠唤醒输出管脚，用于指示Atlas 200I A2 加速模块是否处于休眠状态。

- 当GPIO8_1（对应Atlas 200I A2 加速模块管脚为SYS_SLEEP_OUT）输出为高电平时，表示当前为休眠状态。
- 当GPIO8_1（对应Atlas 200I A2 加速模块管脚为SYS_SLEEP_OUT）输出为低电平时，表示当前为唤醒状态。


#### 前提条件

- Atlas 200I A2 加速模块已安装操作系统。
- 能正常执行npu-smi命令。


#### 操作步骤

- 方法一：使用npu-smi命令进入休眠状态。

1. 登录Atlas 200I A2 加速模块系统环境。详细操作请参见使用PuTTY登录设备（网口方式）。
2. 执行如下命令，切换至root用户。
  su - root

3. 执行如下命令，进入休眠状态，200ms后自动唤醒。
  npu-smi set -t power-state -i 0 -c 0 -d 200

  -d参数设置休眠时间，单位为毫秒(ms)，取值范围为[200，604800000]。


- 方法二：根据管脚状态说明，操作GPIO管脚实现休眠唤醒，具体操作请参见“硬件开发指南 > 休眠唤醒控制(https://www.hiascend.com/document/detail/zh/Atlas 200I A2/260RC1/har/hardwareguide/hardware_020.html)”。
  使用npu-smi命令进行休眠后，休眠唤醒输入管脚为低电平；若提前唤醒，需将此管脚变为高电平后再变为低电平，即可实现唤醒。
